/*
 * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */

package java.lang;

/**
 * 核心反射中反射操作抛出的异常的通用超类。
 *
 * @see LinkageError
 * @since 1.7
 */
public class ReflectiveOperationException extends Exception {
    static final long serialVersionUID = 123456789L;

    /**
     * 构造一个以{@code null}作为详细消息的新异常。
     * 原因未初始化，可能随后通过调用{@link #initCause}进行初始化。
     */
    public ReflectiveOperationException() {
        super();
    }

    /**
     * 构造一个具有指定详细消息的新异常。
     * 原因未初始化，可能随后通过调用{@link #initCause}进行初始化。
     *
     * @param   message   详细消息。详细消息保存以供
     *          稍后通过{@link #getMessage()}方法检索。
     */
    public ReflectiveOperationException(String message) {
        super(message);
    }

    /**
     * 构造一个具有指定详细消息和原因的新异常。
     *
     * <p>注意与{@code cause}关联的详细消息<em>不会</em>自动
     * 合并到此异常的详细消息中。
     *
     * @param  message 详细消息（保存以供稍后通过
     *         {@link #getMessage()}方法检索）。
     * @param  cause 原因（保存以供稍后通过
     *         {@link #getCause()}方法检索）。（允许{@code null}值，
     *         表示原因不存在或未知。）
     */
    public ReflectiveOperationException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 构造一个具有指定原因和详细消息{@code (cause==null ? null : cause.toString())}
     * 的新异常（通常包含{@code cause}的类和详细消息）。
     *
     * @param  cause 原因（保存以供稍后通过
     *         {@link #getCause()}方法检索）。（允许{@code null}值，
     *         表示原因不存在或未知。）
     */
    public ReflectiveOperationException(Throwable cause) {
        super(cause);
    }
}
